package com.xh.audit.entity.project;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 实体类。
 * 项目立项
 *
 * @author LHL
 * @since 2023-10-18
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(value = "au_project", schema = "audit")
public class Project implements Serializable {

    /**
     * 主键
     */
    @Id(keyType = KeyType.Auto)
    private Integer id;

    /**
     * 立项人,关联系统
     */
    private Integer projectInitiator;

    /**
     * 立项单位,关联系统
     */
    private Integer projectInitiationUnit;

    /**
     * 项目计划,关联系统;工作计划下拉选
     */
    private Integer projectPlan;

    /**
     * 项目年度
     */
    private Integer projectYear;

    /**
     * 项目编号
     */
    private String projectCode;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目开始时间
     */
    private Date projectStartTime;

    /**
     * 项目结束时间
     */
    private Date projectEndTime;

    /**
     * 主审单位,关联系统;关联主审单位
     */
    private Integer auditCode;

    /**
     * 被审计单位,关联系统
     */
    private Integer auditeeCode;

    /**
     * 审计类型,字典;字典
     */
    private Integer auditType;

    /**
     * 审计方式,字典;字典
     */
    private Integer auditMode;

    /**
     * 审计实施地点,字典;字典
     */
    private Integer auditImplementationLocation;

    /**
     * 是否委托审计 1是0否 ,字典;字典
     */
    private Integer commissionedAuditFlag;

    /**
     * 审计范围;初始时回填计划中的值
     */
    private String auditScope;

    /**
     * 审计内容;初始时回填计划中的值
     */
    private String auditContent;

    /**
     * 审计要求;初始时回填计划中的值
     */
    private String auditRequirements;

    /**
     * 委托机构,取值表au_external_audit_agency的id;是否委托审计 1是 必填  0则空  取值表au_external_audit_agency的id
     */
    private Integer externalAuditAgencyId;

    /**
     * 业务对接人,取值表au_external_audit_agency的 business_counterpart;是否委托审计 1是 必填  0则空  取值表au_external_audit_agency的 business_counterpart
     */
    private String businessCounterpart;

    /**
     * 归档状态;1是0否
     */
    private Integer archivingTatus;

    /**
     * 项目进度,字典
     */
    private Integer projectProgress;

}
